package com.whmall.service.crm.entity.dto.company.graph.node;

import com.whmall.component.entity.dto.CompanyKeyFieldDTO;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * Author：yangdong
 * Date：2021/4/29
 * Description：
 */
@Data
public class CompanyGraphNode implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long id;
    private String name;
    private String formerName;
    private String nameAbbr;
    private String mcode;
    private Integer companySource;
    private String companyType;
    private Integer isInternal;
    private Integer isSupplier;
    private Integer isCustomer;
    private Integer isCanMspoa;
    private Integer needDetect;
    private Integer verified;
    private Integer customerSettlementMethod;
    private Integer supplierSettlementMethod;
    private String customerGrade;
    private Integer annualSales;
    private Integer companyScale;
    private Integer registeredCapital;
    private Long traderId;
    private Long csId;
    private Long purchaserId;
    private Long backPurchaserId;
    private Long vmId;
    private String traderDepartmentPath;
    private String csDepartmentPath;
    private String purchaserDepartmentPath;
    private String vmDepartmentPath;
    private Integer country;
    private Integer province;
    private Integer city;
    private Integer district;
    private Date establishedTime;
    private Date firstOrderTime;
    private Date prevOrderTime;
    private Date lastOrderTime;
    private Date firstInquiryTime;
    private Date prevInquiryTime;
    private Date lastInquiryTime;
    private Date supplierFirstOrderTime;
    private Date supplierFirstShipTime;
    private Integer isLogout;
    private Integer logoutReason;
    private Integer supplierDevelopStatus;
    private Integer supplierControlDirectory;
    private Integer isDevelopmentValue;
    private Integer isHide;
    private Integer isLockPersonalPoolCustomer;
    private Integer isCustomerPoolCustomer;
    private Integer acquisitionNumber;
    private Long createId;
    private Date createTime;
    private Long updateId;
    private Date updateTime;
    private Integer isBigCustomer;

    /**
     * BD ID
     */
    private Long bdId;
    /**
     * BD部门路径
     */
    private String bdDepartmentPath;
    /**
     * 管制品专员 ID
     */
    private Long controlId;

    /**
     * 管制品专员部门路径
     */
    private String controlDepartmentPath;

    private Integer deleted;

    /**
     * 供应商合作情况<br />
     * 值请查看通用配置文档
     */
    private Integer supplierCooperationState;

    /**
     * 客户合作情况<br />
     * 值请查看通用配置文档
     */
    private Integer customerCooperationState;

    /**
     * 是否强制中转<br />
     * 1是，0否<br />
     * 之前存储在redis，需要清洗数据
     */
    private Integer hasMandatoryTransfer;

    /**
     * 供应商类型<br />
     * 类型查看通用配置文档<br />
     * 格式：-类型1-类型2-…-类型N-
     */
    private String supplierTypeList;

    /**
     * 信用级别<br />
     * 值请查看通用配置文档
     */
    private Integer creditRank;

    /**
     * 合作类型<br />
     * 值请查看通用配置文档<br />
     * 格式：-类型1-类型2-…-类型N-
     */
    private String cooperationTypeList;


    private List<CompanyKeyFieldDTO.Type> companyTypeList;
    private Integer inBillingBlacklist;
    /**
     * 客户专属采购ID
     */
    private Long ccpId;
    /**
     * 客户专属采购部门路径
     */
    private String ccpDepartmentPath;
}
